home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / qix.dir < prev    next >
File List  |  1993-02-18  |  4KB  |  332 lines

  1. %%HP: T(3)A(D)F(.);
  2. DIR
  3.  
  4.   SETUP
  5.     \<<
  6.     "Building:\010LINEON" 1 DISP
  7. "CODE
  8. **LineOn**************
  9.  
  10. Toggle EQU 0
  11. On     EQU 1
  12. Off    EQU 0
  13.  INCLUDE LINEBODY
  14. ENDCODE"
  15.     \->RPL 'LINEON' STO
  16.     "LINEOFF" 2 DISP
  17. "CODE
  18. **LineOff*************
  19.  
  20. Toggle EQU 0
  21. On     EQU 0
  22. Off    EQU 1
  23.  INCLUDE LINEBODY
  24. ENDCODE"
  25.     \->RPL 'LINEOFF' STO
  26.     "Fast QIX" 2 DISP 
  27.     1 QIX.S \->RPL 'QIXF' STO
  28.     { LINEON LINEOFF } PURGE
  29.     "Slow QIX" 2 DISP
  30.     0 QIX.S \->RPL 'QIXS' STO 
  31.     "DISPM" 2 DISP
  32.     DISPM.S \->RPL 'DISPM' STO
  33.     "Well, let's take a\010look at the results.\010\010The show begins...\010\010\010\010"
  34.     1 DISP 5 WAIT
  35.     "HM, THIS IS A REAL SLOOOW QIX" DISPM QIXS
  36.     "WHAT ABOUT THIS ONE...?" DISPM QIXF
  37.     { DISPM } PURGE
  38.     \>>
  39.  
  40.   QIX.S
  41.     \<<
  42. "(QIX.S)
  43. ::
  44.  CK0NOLASTWD
  45.  ClrDA1IsStat
  46.  RECLAIMDISP
  47.  THREE # FFFFB
  48.  # FFFFB THREE
  49.  TWENTYEIGHT TWENTY
  50.  SIXTEEN TEN
  51.  ' NULLLAM EIGHT NDUPN
  52.  DOBIND 150
  53.  ZERO_DO
  54.   1GETLAM 2GETLAM
  55.   3GETLAM 4GETLAM
  56.   ORDERXY# FOUR {}N
  57.   DUP INCOMPDROP
  58. "
  59.     IF OVER THEN
  60.         "  INCLOB" +
  61.     END
  62.  
  63. " LINEON
  64.   INDEX@ TEN #< ?SKIP
  65.   ::
  66.    ELEVEN ROLL INCOMPDROP
  67. "
  68.     +
  69.     IF SWAP THEN
  70.         "   INCLOB" +
  71.     END
  72.  
  73. " LINEOFF
  74.   ;
  75.   1GETLAM 5GETLAM #+
  76.   DUP BINT_130d #>ITE
  77.   ::
  78.    DROP ZERO 5GETLAM
  79.    #- 5PUTLAM
  80.   ;
  81.    1PUTLAM
  82.   2GETLAM 6GETLAM #+
  83.   DUP FIFTYFIVE #>ITE
  84.   ::
  85.    DROP ZERO 6GETLAM
  86.    #- 6PUTLAM
  87.   ;
  88.    2PUTLAM
  89.   3GETLAM 7GETLAM #+
  90.   DUP BINT_130d #>ITE
  91.   ::
  92.    DROP ZERO 7GETLAM
  93.    #- 7PUTLAM
  94.   ;
  95.    3PUTLAM
  96.   4GETLAM 8GETLAM #+
  97.   DUP FIFTYFIVE #>ITE
  98.   ::
  99.    DROP ZERO 8GETLAM
  100.    #- 8PUTLAM
  101.   ;
  102.    4PUTLAM
  103.   GETTOUCH IT
  104.   ::
  105.    DROP ExitAtLOOP
  106.   ;
  107.   ATTN? IT
  108.    ExitAtLOOP
  109.  LOOP
  110.  ATTNFLGCLR
  111.  FLUSHKEYS
  112.  ABND 5DROP 5DROP
  113.  RECLAIMDISP
  114. ;"
  115.     +
  116.     \>>
  117.  
  118.   LINEBODY
  119. "sFlag  EQU  5
  120.  
  121.      GOSUB  Pop#
  122.      R3=A
  123.      GOSUB  Pop#
  124.      R2=A
  125.      GOSUB  Pop#
  126.      R1=A
  127.      GOSUB  Pop#
  128.      R0=A
  129.  
  130.      GOSBVL =SAVPTR
  131.      D0=(5) =VDISP
  132.      A=DAT0 A
  133.  
  134.      D0=A
  135.  
  136.      A=R0
  137.      C=R2
  138.      C=C-A  A
  139.      GONC   dxok
  140.      GOTO   Exit
  141. dxok R2=C
  142.  
  143.      D0=D0+ 15
  144.      LC(5)  34
  145.  
  146.      D=C    A
  147.      D0=D0+ 5
  148.      A=R1
  149.  
  150.      B=0    A
  151.      BCEX   A
  152. Mul2 B=B-1  P
  153.      GOC    Mul3
  154.      C=C+A  A
  155.      GOTO   Mul2
  156. Mul3 ASL    A
  157.      P=P+1
  158.      ?P#    5
  159.      GOYES  Mul2
  160.      P=     0
  161.  
  162.      A=R0
  163.      ASRB.F A
  164.      ASRB.F A
  165.      A=A+C  A
  166.  
  167.      CD0EX
  168.      C=C+A  A
  169.  
  170.      D0=C
  171.  
  172.      A=R0
  173.      LC(1)  3
  174.      C=C&A  B
  175.      C=C+CON B,13
  176.      P=C    0
  177.      LC(4)  #1248
  178.      P=C    0
  179.      C=P    1
  180.      P=     0
  181.      B=C    B
  182.  
  183.   IFNE Off
  184.      B=-B-1 B
  185.   ENDIF
  186.  
  187.      A=R1
  188.      C=R3
  189.      C=C-A  A
  190.      GONC   tstdxy
  191.      D=-D   A
  192.      C=-C   A
  193. tstdxy
  194.      ST=0   sFlag
  195.      A=R2
  196.  
  197.      ?C=A   A
  198.      GOYES  dxeqdy
  199.      ?A=0   A
  200.      GOYES  dxeq0
  201.      ?C#0   A
  202.      GOYES  dxgtdy?
  203.  
  204.      D1=A
  205.      GONC   dx1dy0
  206.  
  207. dxeq0
  208.      ST=1   sFlag
  209.      D1=C
  210. dx1dy0
  211.      A=0    A
  212.      A=A+1  A
  213.      C=0    A
  214.      GONC   dxdycok
  215.  
  216. dxeqdy
  217.      D1=A
  218.      A=0    A
  219.      C=0    A
  220.      GOC    dxdycok
  221.  
  222. Exit GOVLNG =GETPTRLOOP
  223.  
  224. dxgtdy?
  225.      ?C<A   A
  226.      GOYES  dxdyok
  227.  
  228.      ST=1   sFlag
  229.      ACEX   A
  230.  
  231. dxdyok
  232.      D1=A
  233.  
  234. dxdycok
  235.      R2=A
  236.      R3=C
  237.  
  238.      ASRB.F A
  239.      R4=A
  240.  
  241. plot A=DAT0 1
  242.  
  243.   IFNE On
  244.      A=A!B  B
  245.   ENDIF
  246.   IFNE Off
  247.      A=A&B  B
  248.   ENDIF
  249.   IFNE Toggle
  250.      C=A    B
  251.      A=A!B  B
  252.      C=C&B  B
  253.      A=A-C  B
  254.   ENDIF
  255.  
  256.      DAT0=A 1
  257.  
  258.      D1=D1- 1
  259.      GOC    Exit
  260.  
  261.      A=R4.F A
  262.      C=R3.F A
  263.      A=A+C  A
  264.      R4=A.F A
  265.      C=R2.F A
  266.  
  267.      ?ST=1  sFlag
  268.      GOYES  allwy
  269.  
  270.      ?A<C   A
  271.      GOYES  xstep
  272.  
  273.      A=A-C  A
  274.      R4=A.F A
  275.      CD0EX
  276.      C=C+D  A
  277.      D0=C
  278.  
  279. xstep
  280.      B=B+B  B
  281.   IFNE (On)+(Toggle)
  282.      GONC   plot
  283.      LC(2)  #11
  284.   ENDIF
  285.   IFNE Off
  286.      GOC    plot
  287.      LC(2)  #EE
  288.   ENDIF
  289.      B=C    B
  290.      D0=D0+ 1
  291.      GONC   plot
  292.  
  293. allwy
  294.      ?A<C   A
  295.      GOYES  ystep
  296.  
  297.      A=A-C  A
  298.      R4=A.F A
  299.  
  300.      B=B+B  B
  301.   IFNE (On)+(Toggle)
  302.      GONC   ystep
  303.      LC(2)  #11
  304.   ENDIF
  305.   IFNE Off
  306.      GOC    ystep
  307.      LC(2)  #EE
  308.   ENDIF
  309.      B=C    B
  310.      D0=D0+ 1
  311.  
  312. ystep
  313.      CD0EX
  314.      C=C+D  A
  315.      D0=C
  316.      GOTO   plot
  317.  
  318. Pop# GOVLNG =POP#
  319.  
  320. **********************"
  321.  
  322.   DISPM.S
  323. "(DISP.S)
  324. ::
  325.  CK1NoBlame
  326.  DUPTYPECSTR?
  327.  NcaseTYPEERR
  328.  DispCoord1
  329. ;"
  330.  
  331. END
  332.